由於 Xuite 部落格即將於本月月底關站,所以我幫忙我爸爸將部落格「101上山走走」搬家。10 幾年、408 篇文章、400 萬瀏覽次數,隨著 Xuite 關閉,回憶就這樣不見的話,太可惜了。
本篇同步發表於我的 Hashnode 部落格:
Eva Chen | 網頁設計師下班後 (hashnode.dev)
由於爸爸的部落格,本來就有針對全台各地分類,方便使用者查找,我希望新的部落格也能夠使用 tag 分類。
一開始我也考慮了很多部落格平台搬家,但是因為數量很多,我不希望未來還要再搬一次,所以決定自己做。而且我爸爸說他目前沒有空再更新,所以封存紀念的性質比較高,於是捨棄了編輯的方便性。(不然我覺得方格子有推出 Xuite 搬家服務,也感覺很理想)
不過,以防萬一未來要更新,所以我希望把文章存成 markdown 格式,除了很簡單學習外,也有越來越多文章編輯器是使用這個格式,例如:Notion、Bear、Hackmd 等都是以 markdown 為基底。未來要請爸爸更新,應該不是很難,而且他也是工程師(雖然軟體方面的話,是很久以前的 DOS 系統),應該容易上手。
而使用 markdown 建立部落格有很多方式,查了一下,有 Jekyll、Hugo、Hexo、Gatsby、VuePress 等等。因為在工作時,有碰過一點 Vue,所以想說試試看 VuePress。結果,找到了一個 VuePress 的套件:VuePress Theme Hope(雖然說他還在 beta 中),基本上照著他的步驟做,就能建出一個部落格了,搜尋、分類、SEO 都有考慮到,而且我居然一行 code 都沒寫到。🥹
由於數量很多,所以我使用了 ChatGPT 幫我寫了一支 Node Js 的程式,處理 Xuite 匯出的檔案,Xuite 匯出的格式是將 400 多篇的文章與留言合併成一篇超級長文字檔。
另外,這支程式還要將圖片全部下載下來,因為八月底一關站,資料全部刪掉,就會全部載不到了。其實部落格搬家,文字部分並不難,麻煩的是圖片影片的處理 🥲。
因為我不太熟悉 JS,所以我請 ChatGPT 幫忙寫程式,過程大致上是:
先給他 3-5 篇的原始文字檔,請他找出規則,把 408 篇的文章區分開來,並且忽略留言的部分。
幫我分別把每一篇的圖片下載下來,依據順序存到不同的序號資料夾裡。下載的時候,要間隔一段時間下載,不然一次太大量會被 Xuite 當成異常流量。(結果載了 7、8 個小時 🥲)
把各篇文章內 HTML 轉換為 markdown 格式。
因為 Xuite 的圖片會包著一層連結,請他去除連結。
再分別存成 md 檔案,依序號加文章日期命名。
ChatGPT 在第 3、4 點鬼打牆好久⋯⋯
一下子有轉成 markdown 格式,但是圖片沒有去除連結;一下子有去除連結,但是格式沒有轉成 markdown 格式;不然就是跑到一半掛掉,出來總筆數不對。😂
我發現請 ChatGPT 寫簡單程式沒有問題,但是像類似這樣需要多種步驟,一步步來回修改,他蠻容易錯亂的,改 A 錯 B,改 B 錯 A。不過可能是因為我用的是免費版(ChatGPT 3.5)?如果我會 Node JS 的話,也許一下子就能 debug 出來了⋯⋯吧?但可惜我不會。
所以,距離 AI 取代工程師的日子還要一段時間吧?目前還是需要人為檢查一下產出結果。XD
完美主義發作,我還把圖慢慢全部都丟到 TinyPng 裡壓縮,花了好久的時間。😵 其實原本 Xuite 已經有壓縮了,但是用 TinyPng 再壓,真的無損畫質,檔案又可以減少 40% - 50%,對於檔案大小差好多!還好看著劇,邊吐槽邊用,就壓完了!XD
由於 ChatGPT 鬼打牆了許久,我想說把圖片連結置換為新連結這部分就算了。所以,我是人為對著序號,把圖片更新成新的連結,還加上了 alt 說明。接著,統一每篇的標題內文格式,例如H2、H3 設定好等等,站內連結、表格也設定好。🫠
結果,花費一個月半,雖然有點累,終於搬好了,真是可喜可賀!🥹
因為這樣已經很累了,所以我沒有特別修改版面設計,目前這都是由這個套件 VuePress Theme Hope 所設計的,但這已經很強大了。不過,還是想要改天,再來做一些客製的畫面設計。
如果 AI 能夠更順暢地加入整個流程中就好了,或者,我會 Node JS 就好了。
要繼續努力學習 JS 啊⋯⋯
封存的話要不要考慮用 https://matters.town/ 呢?
使用 IPFS 技術,用 Brave 瀏覽器就能簡單自己當文章節點其實也滿有趣的。
我知道 matters!只不過我沒有研究過他背後的技術,只知道他與 Web 3 相關,感覺很有趣,有機會我也去試試看。Web 3 的概念的確很適合保存東西。
其實一開始也是能單純註冊個帳號就發文就好,背後的 web3 ipfs 區塊鍊啥的慢慢就會接觸了解的。
如果一直都不了解其實也沒差XD
好 我也去玩玩看XD